Static Checking for Multiple Start of Threads in a Type-Safe Multithreaded Java

نویسندگان

  • Zeinab Iranmanesh
  • Mehran S. Fallah
چکیده

We present MTMJ, a multithreaded middleweight model language for Java which is strongly typed and prevents multiple run-time start of threads. The key point in designing the language is to balance precision and efficiency by judicious utilization of context information during type checking. While the types are flow-insensitive, the required flowdependent information is collected as type checking progresses. We prove that our type system is sound and guarantees the good behavior of welltyped programs. In particular, the execution of a typable program does not lead to multiple start of threads. We also develop a type checker as part of this research and apply it to several MTMJ programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Exception Analysis for Multithreaded Java Programs

This paper presents a static analysis that estimates uncaught exceptions in multithreaded Java programs. In Java, throwing exceptions across threads is deprecated because of the safety problem. Instead of restricting programmers’ freedom, we extend Java language to support multithreaded exception handling and propose a tool to detect uncaught exceptions in the input programs. Our analysis consi...

متن کامل

Checking Concise Specifications for Multithreaded Software

Ensuring the reliability of multithreaded software systems is difficult due to the potential for subtle interactions between threads. Unfortunately, checking tools for such systems do not scale to programs with a large number of threads and procedures. To improve this shortcoming, we present a verification technique that uses concise specifications to analyze large multithreaded programs modula...

متن کامل

A Type System for Safe Region-Based Memory Management in Real-Time Java

The Real-Time Specification for Java (RTSJ) allows a program to create real-time threads with hard real-time constraints. Real-time threads use immortal memory and region-based memory management to avoid unbounded pauses caused by interference from the garbage collector. The RTSJ uses runtime checks to ensure that deleting a region does not create dangling references and that real-time threads ...

متن کامل

Type Safe Nondeterminism A Formal Semantics of Java Threads

We present a generic framework to transform a single-threaded operational semantics into a semantics with interleaved execution of threads. Threads can be dynamically created and use locks for synchronisation. They can suspend themselves, be notified by other threads again, and interact via shared memory. We formalised this in the proof assistant Isabelle/HOL along with theorems to carry type s...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Journal of Object Technology

دوره 16  شماره 

صفحات  -

تاریخ انتشار 2017